const User= require("../schema/userschema")

//添加用户
exports.AddUser=async ctx=>{
    console.log(ctx.request.body)
    const {userName}= ctx.request.body;
    const result=await User.findOne({userName})
    if(result){
        ctx.body={
            status:0,
            msg:"该用户已经存在",
        };
    }else{
        const result =await User.create(ctx.request.body);
        ctx.body={
            status:1,
            msg:"用户添加成功",
            data:result
        };
    }
}

//获取用户
exports.GetUser=async ctx=>{

    //查找除了admin的所有用户
    const result =await User.find({userName:{$ne:"admin"}})
    // console.log(result);
    ctx.body={
        users:result
    }
}

//修改用户信息
exports.UpdateUser=async ctx=>{
    const {_id,userName}=ctx.request.body;
    const user =await User.find({userName})  //返回的是一个数组
    if(user.length){  //当查到到同名的用户是进行以下判断
        if(user[0]._id.toString()===_id.toString()){ //查找到的用户_id与要修改用户的_id相同则是同一个人，那么就可以执行修改信息操作
            const result = await User.updateOne({_id},ctx.request.body)
            ctx.body={
                status:1,
                msg:"用户信息修改成功"
            }
        }else{//查找到的用户_id与要修改用户的_id不相同则不是同一个人，那么无法修改用户信息
            ctx.body={
                status:0,
                msg:"该用户名已经存在，无法修改"
            }
        }
    }else{//当用户修改名称后，并且在数据库中没有找到相同的名字，可以执行修改信息操作
        const result = await User.updateOne({_id},ctx.request.body)
        ctx.body={
            status:1,
            msg:"用户信息修改成功"
        }
    }
}

exports.DeleteUser=async ctx=>{
    const result = await User.deleteOne({_id:ctx.request.body._id})
    if(result.deletedCount){
        ctx.body={
            status:1,
            msg:"删除用户成功"
        }
    }else{
        ctx.body={
            status:0,
            msg:"删除用户失败，请重试"
        }
    }
}